package flex.cc.uac.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;

import flex.cc.core.mybatis.BaseEntity;
import lombok.Data;

import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

/**
 * 用户Token统计表
 *
 * @author zhangzk
 * @email zhangzhikai@sinosoft.com.cn
 * @date 2020-06-22 00:27:10
 */
@Data
@TableName("flex_uac_user_token")
public class UacUserTokenEntity extends BaseEntity {
    private static final long serialVersionUID = 1L;

                    
    /**
     * 父ID
     */
    private Long pid;
        
    /**
     * 登录名
     */
    private String loginName;
        
    /**
     * 姓名
     */
    private String userName;
        
    /**
     * 用户ID
     */
    private Long userId;
        
    /**
     * 操作系统
     */
    private String os;
        
    /**
     * 浏览器
     */
    private String browser;
        
    /**
     * 登陆人Ip地址
     */
    private String loginIp;
        
    /**
     * 登录地址
     */
    private String loginLocation;
        
    /**
     * 登录时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date loginTime;
        
    /**
     * 访问token
     */
    private String accessToken;
        
    /**
     * 刷新token
     */
    private String refreshToken;
        
    /**
     * token类型
     */
    private String tokenType;
        
    /**
     * 访问token的生效时间(秒)
     */
    private Integer accessTokenValidity;
        
    /**
     * 刷新token的生效时间(秒)
     */
    private Integer refreshTokenValidity;
        
    /**
     * 0 在线 10已刷新 20 离线
     */
    private Integer status;
        
    /**
     * 组织ID
     */
    private Long groupId;
        
    /**
     * 组织名称
     */
    private String groupName;

    /**
     * 业务机构代码
     */
    private String comCode;
    /**
     * 业务机构名称
     */
    private String comName;
    
    /**
     * 失效时间
     */
    @TableField(exist = false)
    private Integer expiresIn;

    @TableField(exist = false)
    private String belongComCode;
    @TableField(exist = false)
    private String belongComName;
}
